//
//  NSDate+YCXTimeDescription.h
//  AnYiXing
//
//  Created by 马佳 on 2017/7/26.
//  Copyright © 2017年 云车问. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (YCXTimeDescription)



/// 传时间+时间格式 -> 时间戳
/// - Parameters:
///   - dateTime: 时间 @"2024-06-07 09:08:17"
///   - dateFormat: 时间格式 @"yyyy-MM-dd HH:mm"
+(NSString *)getTimestampWithDateTime:(NSString *)dateTime dateFormat:(NSString *)dateFormat;


/// 传14位时间 -> 返回时间戳 10位
/// - Parameter time: 14位时间 【固定格式yyyyMMddHHmmss】
+(NSString *)currentTimestamp:(NSString *)time;


/// 传14位时间 -> 返回几分钟前/几小时前/几天前/几周前/几年前
/// - Parameter time: 14位时间 【固定格式yyyyMMddHHmmss】
+(NSString *)processingTime:(NSString *)time;



/// 传14位时间 -> 相差天数
/// - Parameter time: 14位时间 【固定格式yyyyMMddHHmmss】
+(NSInteger)processingDayTime:(NSString *)time;



/// 传10/13位时间戳 -> 相差天数
/// - Parameter timestamp: 10/13位时间戳
+(NSInteger)differenceDaysFormTimestamp:(NSString *)timestamp;


/// 传14位时间 + 时间格式 -> 指定格式的时间  2014-01-02  yyyy-MM-dd    yyyy-MM-dd HH:mm
/// - Parameters:
///   - time: 14位时间 【固定格式yyyyMMddHHmmss】
///   - dateformat:  时间格式
+(NSString *)TimestampGetTime:(NSString *)time andDateFormat:(NSString *)dateformat;


/// 传10/13位时间戳 -> 时间+时间格式
/// - Parameters:
///   - timestamp: 时间戳
///   - dateformat: 时间格式
+ (NSString *)timeWithYearMonthDayCountDown:(NSString *)timestamp andDateFormat:(NSString *)dateformat;


/// 判断传10/13位时间戳 -> 是否为当天,昨天,年月日
/// - Parameter timestamp: 10/13位时间戳
+ (NSString *)timeStringWithTimestamp:(NSString *)timestamp;


/// 获取当前年月日 -> 【固定格式yyyyMMdd】
+(NSString*)getCurrentTimes;


/// 获取当前时间，自定义格式
/// - Parameter dateFormat: 时间格式
+(NSString*)getCurrentTimesByDateFormat:(NSString *)dateFormat;


/// 获取当前时间戳  (以秒为单位） 10位
+(NSString *)getNowTimeTimestamp;

/// 获取当前时间戳  (以秒为单位） 10位
+(NSString *)getNowTimeTimestamp2;


/// 获取当前时间戳  (以毫秒秒为单位）13位时间戳
+(NSString *)getNowTimeTimestampWith13;


///传10位时间戳 -> 处理明天8点与服务器时间做差值
+(void)nextDayTimestamp:(long long)nowtimestamp andBlock:(void(^)(NSString * time))timeshowblock;

/// 秒转换成 HH:mm:ss
+(NSString *)timeFormatted:(int)totalSeconds;

/// 秒转化成 xxdays xxhours xxminutes
+(NSString *)timeDayHourMinuteFormatted:(int)totalSeconds;



/**
 * 距离当前的时间间隔描述
 *
 * @return 距离当前的时间间隔描述
 * 例子：[NSDate dateWithTimeIntervalSince1970:1705786760] timeIntervalDescription]
 */
- (NSString *)timeIntervalDescription;


@end
